IE - OLE

Otázka od: Ing. Igor Kapoun

5. 11. 2004 10:12

Potreboval bych vycucnout z okna Exploreru zdrojak.
Vim, jak se na IE napojit (CreateOleObject
('InternetExplorer.Application')),
ale nevim, co s tim dal. Nepodarilo se mi najit info o objektu IE,
abych se pak mohl dostat k jeho vlastnostem.
Prosim o nakopnuti... Predem dik
Igor


Odpovedá: Marian Nykel

5. 11. 2004 10:48

> Potreboval bych vycucnout z okna Exploreru zdrojak.

Mohlo by to byt pres vlastnost Document.Body.InnerHTML

--
mANY


Odpovedá: Ing. Igor Kapoun

5. 11. 2004 11:26


> > Potreboval bych vycucnout z okna Exploreru zdrojak.
>
> Mohlo by to byt pres vlastnost Document.Body.InnerHTML

Existuje k tomu nejaka dokumentace? Mam pocit, ze to
Microsoft stahnul ze svych stranek, protoze to nemuzu nikde najit...

Igor


Odpovedá: Svoboda Jiri

5. 11. 2004 11:48

Dulezita je dokumentace k IHTMLDocument2 a IHTMLElement,dostupna na
strankach Microsoftu.

Priklad pro nacteni z IE:
Podle Text se nacita bud jen text nebo i zdrojovy html kod do promenne List

procedure GetHTMLCode(const List: TStrings; URL: string; Text: boolean =
True);
var
  x : Integer;
  sw: Ishellwindows;
  wb: IWebbrowser2;
  iDoc1: IHTMLDocument2;
  iEl: IHTMLElement;
begin
  sw := CoShellWindows.Create;
  for x := 0 to sw.count do
  begin
      WB := Sw.Item(x) as IWebbrowser2;
      if (wb <> nil) AND (UpperCase(WB.locationURL) = UpperCase(URL)) then
      begin
         WB.Document.QueryInterface(IHTMLDocument2, iDoc1);
         if iDoc1 <> nil then
         begin
            iEl := iDoc1.Body;
            if Text then List.Add(iEl.innerText)
            else List.Add(iEl.innerHTML);
         end;
      end
  end;
end;